#ifndef __INKA_GFX_BUFFER_H__
#define __INKA_GFX_BUFFER_H__

#include <GL/glew.h>
#include <gfx/enums.h>

namespace inka
{
namespace gfx
{

class Buffer
{
private:


  GLenum    _type;

  GLuint    _name;

protected:
  Buffer (GLenum type);

public:

  void SetData (const void* data, unsigned size, BufferAccess access = BA_Draw, BufferUsage usage = BU_Static);
  void SetSubData (unsigned offset, const void* data, unsigned size);

  void Bind ();

};


}
}
#endif // __INKA_GFX_BUFFER_H__
